﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum КодыОперацийЗатратыНаВыпускПродукции
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"0342dcf7-cfb8-4dc5-8e34-191a20c71268\", \"Представление\":\"ОтрицательныеЗатраты\"}")]
		ОтрицательныеЗатраты = 0,//Отрицательные затраты
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"b221d8c3-4529-409b-82ac-eb4214d816d5\", \"Представление\":\"ПрямыеЗатраты\"}")]
		ПрямыеЗатраты = 1,//Прямые затраты
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"890c12fd-5998-4066-a7eb-c75dcd6fd035\", \"Представление\":\"ВозвратМатериаловИзПроизводстваРасч\"}")]
		ВозвратМатериаловИзПроизводстваРасч = 2,//Возврат материалов из производства по расчетной стоимости
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"40c0a89e-a5a7-4a19-bf5a-45fabd414682\", \"Представление\":\"СписаниеНЗП\"}")]
		СписаниеНЗП = 3,//Списание незавершенного производства
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"7c30f511-cc33-4ebd-af8f-d74fe7228292\", \"Представление\":\"ФактСебестоимостьОХР\"}")]
		ФактСебестоимостьОХР = 4,//Факт. себестоимость ОХР
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"da686144-ded6-4023-b87f-8b781d5078f6\", \"Представление\":\"ФактСебестоимостьОПР\"}")]
		ФактСебестоимостьОПР = 5,//Факт. себестоимость ОПР
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"96825293-1f57-4bc2-a8ed-d4a731bef2d1\", \"Представление\":\"СписаниеОтрицЗатратРегламент\"}")]
		СписаниеОтрицЗатратРегламент = 6,//Списание отрицательных затрат (регламент.)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"489cdcc7-af72-4a37-8413-0503ae3a60e6\", \"Представление\":\"ФактСебестоимостьБракВПроизводстве\"}")]
		ФактСебестоимостьБракВПроизводстве = 7,//Факт. себестоимость брак в пр-ве
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"88816a57-1df2-4c4f-81fa-135f39aada7c\", \"Представление\":\"ОприходованиеНЗП\"}")]
		ОприходованиеНЗП = 8,//Оприходование НЗП
		[EnumMember(Value = "{\"Ссылка\":\"7a776240-3f09-4fe4-b7c9-a580772edefe\", \"Представление\":\"КорректировкаНЗПРасч\"}")]
		КорректировкаНЗПРасч = 9,//Корректировка незавершенного производства по расчетной стоимости
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"98ca3aee-0a94-4727-8411-3ed674c251ab\", \"Представление\":\"ВозвратМатериаловИзПроизводстваФикс\"}")]
		ВозвратМатериаловИзПроизводстваФикс = 10,//Возврат материалов из производства по фиксированной стоимости
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"ccaba6df-15a5-4295-9da2-6d888e4d73c5\", \"Представление\":\"СписаниеНЗПФикс\"}")]
		СписаниеНЗПФикс = 11,//Списание незавершенного производства по фиксированной стоимости
		[EnumMember(Value = "{\"Ссылка\":\"9522c2df-600d-4a5c-a851-71cec920eb66\", \"Представление\":\"КорректировкаНЗПФикс\"}")]
		КорректировкаНЗПФикс = 12,//Корректировка незавершенного производства по фиксированной стоимости
	}
	public static partial class КодыОперацийЗатратыНаВыпускПродукции_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОтрицательныеЗатраты = new Guid("1a19348e-c720-6812-4dc5-cfb80342dcf7");//Отрицательные затраты
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПрямыеЗатраты = new Guid("42ebac82-d814-d516-409b-4529b221d8c3");//Прямые затраты
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратМатериаловИзПроизводстваРасч = new Guid("5dc7eba7-6fcd-35d0-4066-5998890c12fd");//Возврат материалов из производства по расчетной стоимости
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеНЗП = new Guid("fa455abf-41bd-8246-4a19-a5a740c0a89e");//Списание незавершенного производства
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ФактСебестоимостьОХР = new Guid("4fd78faf-22e7-9282-4ebd-cc337c30f511");//Факт. себестоимость ОХР
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ФактСебестоимостьОПР = new Guid("788b7fb8-501d-f678-4023-ded6da686144");//Факт. себестоимость ОПР
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеОтрицЗатратРегламент = new Guid("a7d4eda8-be31-d1f2-4bc2-1f5796825293");//Списание отрицательных затрат (регламент.)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ФактСебестоимостьБракВПроизводстве = new Guid("03051384-3aae-e660-4a37-af72489cdcc7");//Факт. себестоимость брак в пр-ве
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОприходованиеНЗП = new Guid("5f13fa81-aa39-7cda-4c4f-1df288816a57");//Оприходование НЗП
		public static readonly Guid КорректировкаНЗПРасч = new Guid("80a5c9b7-2e77-fede-4fe4-3f097a776240");//Корректировка незавершенного производства по расчетной стоимости
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратМатериаловИзПроизводстваФикс = new Guid("d63e1184-c274-ab51-4727-0a9498ca3aee");//Возврат материалов из производства по фиксированной стоимости
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеНЗПФикс = new Guid("886da29d-4d8e-c573-4295-15a5ccaba6df");//Списание незавершенного производства по фиксированной стоимости
		public static readonly Guid КорректировкаНЗПФикс = new Guid("ce7151a8-20c9-66eb-4a5c-600d9522c2df");//Корректировка незавершенного производства по фиксированной стоимости
		public static КодыОперацийЗатратыНаВыпускПродукции Получить(this КодыОперацийЗатратыНаВыпускПродукции Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static КодыОперацийЗатратыНаВыпускПродукции Получить(this КодыОперацийЗатратыНаВыпускПродукции Значение, Guid Ссылка)
		{
			if(Ссылка == ОтрицательныеЗатраты)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты;
			}
			else if(Ссылка == ПрямыеЗатраты)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты;
			}
			else if(Ссылка == ВозвратМатериаловИзПроизводстваРасч)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч;
			}
			else if(Ссылка == СписаниеНЗП)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП;
			}
			else if(Ссылка == ФактСебестоимостьОХР)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьОХР;
			}
			else if(Ссылка == ФактСебестоимостьОПР)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьОПР;
			}
			else if(Ссылка == СписаниеОтрицЗатратРегламент)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.СписаниеОтрицЗатратРегламент;
			}
			else if(Ссылка == ФактСебестоимостьБракВПроизводстве)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьБракВПроизводстве;
			}
			else if(Ссылка == ОприходованиеНЗП)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП;
			}
			else if(Ссылка == КорректировкаНЗПРасч)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч;
			}
			else if(Ссылка == ВозвратМатериаловИзПроизводстваФикс)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс;
			}
			else if(Ссылка == СписаниеНЗПФикс)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс;
			}
			else if(Ссылка == КорректировкаНЗПФикс)
			{
				return КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс;
			}
			return КодыОперацийЗатратыНаВыпускПродукции.ПустаяСсылка;
		}
		public static byte[] Ключ(this КодыОперацийЗатратыНаВыпускПродукции Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this КодыОперацийЗатратыНаВыпускПродукции Значение)
		{
			switch (Значение)
			{
				case КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты: return ОтрицательныеЗатраты;
				case КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты: return ПрямыеЗатраты;
				case КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч: return ВозвратМатериаловИзПроизводстваРасч;
				case КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП: return СписаниеНЗП;
				case КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьОХР: return ФактСебестоимостьОХР;
				case КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьОПР: return ФактСебестоимостьОПР;
				case КодыОперацийЗатратыНаВыпускПродукции.СписаниеОтрицЗатратРегламент: return СписаниеОтрицЗатратРегламент;
				case КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьБракВПроизводстве: return ФактСебестоимостьБракВПроизводстве;
				case КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП: return ОприходованиеНЗП;
				case КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч: return КорректировкаНЗПРасч;
				case КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс: return ВозвратМатериаловИзПроизводстваФикс;
				case КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс: return СписаниеНЗПФикс;
				case КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс: return КорректировкаНЗПФикс;
			}
			return Guid.Empty;
		}
	}
}